let data = {
    count: 1,
    value: 2
}
Object.defineProperty(data, 'count', {
    enumerable: true,
    configurable: true,
    get: function () {
        console.log(this.value)
        //? 在  get  函数中使用  this.count  时，实际上是在获取  data.count  属性的值，这会再次触发  get  函数，导致无限循环的递归调用，最终导致堆栈溢出错误。
        console.log('你访问了count', this.count);
        return this.value
    },
    set: function (newVal) {
        console.log('你设置了count');
    }
})
console.log(data.count)
